class: center, title-slide .title[ # El ABC de RMarkdown ] .author[ ### Erick Cuevas Fernández
01 de agosto de 2022 ] --- class: inverse .pull-right[<br> <img src="data:image/png;base64,#css/xolo.png" width="80%" style="display: block; margin: auto;" /> ] # Contenido: 1. ¿Qué es y para que sirve RMarkdown? 2. Primeros pasos: Crear un archivo `.Rmd` 3. Sintaxis Markdown: 3.1 Elementos de bloque: - Encabezados - Listas - Citas - Párrafos --- class: inverse .pull-right[<br> <img src="data:image/png;base64,#css/xolo.png" width="80%" style="display: block; margin: auto;" /> ] # Contenido: 3.2 Elementos de línea: - Énfasis - Expresiones matemáticas - Enlaces - Código - Comentar texto - Imagen --- class: center # Agradecimientos Este contenido se basó en: - [Advanced R Markdown Workshop rstudio::conf 2019](https://arm.rbind.io) - [R Markdown Cookbook](https://bookdown.org/yihui/rmarkdown-cookbook/) --- # Preparar nuestra sesión de R ```r # Instalar desde el repositorio de CRAN install.packages("rmarkdown") # O también puedes instalar la versión en desarrollo if (!requireNamespace("devtools")) install.packages('devtools') devtools::install_github('rstudio/rmarkdown') # Instalar la paquetería para poder compilar en LaTeX install.packages('tinytex') tinytex::install_tinytex() # install TinyTeX ``` Con RStudio en automático tenemos [**pandoc**](http://pandoc.org/) y [**knitr**](https://yihui.org/knitr/) --- class: inverse # 1. ¿Qué es y para que sirve RMarkdown? **Rmarkdown** se basa en el lenguaje *markdown* que sirve para convertir texto plano a formato HTML. Este tipo de archivo de archivo esta disponible en RStudio, y esto nos permite integrar código con texto. Puedes obtener los siguientes archivos de salida: - PDF - HTML - Microsoft Word --- <img src="data:image/png;base64,#img/how_work.png" width="80%" style="display: block; margin: auto;" /> `.Rmd` es nuestro archivo editable y consta de metadata, texto y bloques de código. `Knit` convierte el `.Rmd` en `.md` (*Tejer*). `Pandoc` hace la introversión entre los distintos tipos de archivos de salida. --- class: chapter-slide # Algunos usos --- ##Agregar en un informe la información de una localización ```r library(leaflet) leaflet() %>% addTiles() %>% setView(lat = 18.95, lng = -99.239, zoom = 13) ```
--- class: center ## Poner la chicharronera (Fórmula cuadrática en un texto) Esto es la chicharronera dentro de un texto `$$x = \frac {-b \pm \sqrt {b^2 - 4ac}}{2a}$$` Y puedo seguir describiendo lo que siga haciendo. `$$\text{La Fórmula Cuadrática es }x = \frac {-b \pm \sqrt {b^2 - 4ac}}{2a}$$` --- .center[ # Ejemplos de uso y páginas útiles ] - [RPubs](https://rpubs.com) - [Generar correos personalizados](https://rmarkdown.rstudio.com/articles_mail_merge.html) - [Escribir artículos](https://elifesciences.org/labs/cad57bcf/composing-reproducible-manuscripts-using-r-markdown) - [rticles](https://github.com/rstudio/rticles) - [Escribir Libros](https://bookdown.org/) - [Escribir tesis](https://eddjberry.netlify.com/post/writing-your-thesis-with-bookdown/) - [Crear sitios web](https://github.com/seankross/postcards) --- .center[ # Crear un archivo `Rmd` ] ## Paso 1 <img src="data:image/png;base64,#img/abrir_rmd.png" width="80%" style="display: block; margin: auto;" /> --- ## Paso 2 <img src="data:image/png;base64,#img/rmd_op.png" width="80%" style="display: block; margin: auto;" /> --- # Listo, tenemos un archivo listo `Rmd` <img src="data:image/png;base64,#img/rmd.png" width="60%" style="display: block; margin: auto;" /> --- # Estructura básica del RMarkdown **YAML** ```yaml --- title: "Bienvenido CDSB 2022" author: "EMB 2022" date: "2022-08-01" output: html_document --- ``` Aquí podemos configurar nuestro archivo markdown. Básicamente aqui suceden todos los cambios en el formato, para hacer paginas web, diapositivas o informes. --- # Estructura básica del RMarkdown **Markdown** ````markdown Parrafo de R Markdown. Esto es un fragmento de código o "chunk": ```r fit = lm(dist ~ speed, data = cars) b = coef(fit) ``` La pendiente de la regresión es -17.5790949. ```` --- # Sintaxis básica. Encabezados. Encabezados de estilo Setext .pull-left[ ````markdown Título de nivel 1 =================== Título de nivel 2 ------------------- ```` ] .pull-right[ Título de nivel 1 =================== Título de nivel 2 ------------------- ] --- # Sintaxis básica. Encabezados. Encabezados de estilo ATX. Un encabezamiento de estilo ATX consta de uno a seis signos # y una línea de texto .pull-left[ ````markdown # Título de nivel 1 ## Título de nivel 2 ### Título de nivel 3 #### Título de nivel 4 ```` ] .pull-right[ # Título de nivel 1 ## Título de nivel 2 ### Título de nivel 3 ] --- # Sintaxis básica. Citas en bloque. .pull-left[ ````markdown > Esto es una cita en bloque. Este > párrafo tiene dos líneas. > > 1. Esta es una lista dentro de una cita > 2. Segundo elemento ```` ] .pull-right[ <img src="data:image/png;base64,#img/quotes.png" width="100%" style="display: block; margin: auto;" /> ] --- # Sintaxis básica. Citas en bloque. .pull-left[ ````markdown > Esto es una cita en bloque. > > > Cita en bloque, dentro de cita en bloque. ```` ] .pull-right[ <img src="data:image/png;base64,#img/quote_in.png" width="100%" style="display: block; margin: auto;" /> ] --- # Sintaxis básica. Texto en bloque. Útil para cuando queremo ocupar sangrias especificas en el texto. .pull-left[ ````markdown | Dijo el loco, y con noble melancolía | por las breñas del monte siguió trepando, | y al perderse en las sombras, aún repetía: | «¡Hay que vivir sembrando! ¡Siempre sembrando!...» | Rafel Blanco Belmonte ```` ] .pull-right[ <img src="data:image/png;base64,#img/poem.png" width="100%" style="display: block; margin: auto;" /> ] --- # Sintaxis básica. Listas. Para las listas puedes utilizar los siguientes símbolos: `*`, `+`, `-`, números y letras. ¿Qué le falta a la lista (lado izquierdo)? .pull-left[ ```r * Lista principal + manzanas - amarilla - roja + pera + durazno ``` ] .pull-right[ <img src="data:image/png;base64,#img/list_apple.png" width="100%" style="display: block; margin: auto;" /> ] --- # Sintaxis básica. Listas. **NOTA**: si quieres que se enumeren automaticamente usa `*.` en tus listas. Vamos a probarlo. .pull-left[ ```r 9) Nueve 10) Diez 11) Once i. subuno ii. subdos iii. subtres ``` ] .pull-right[ <img src="data:image/png;base64,#img/list_num.png" width="100%" style="display: block; margin: auto;" /> ] --- # Sintaxis básica. Listas. .pull-left[ ```r - [ ] an unchecked task list item - [x] checked item ``` ```r Definicion 1 : Definicion 1 Termino 2 con *resaltado* : Definicion 2 { algo de codigo, parte de Termino 2 } Tercer parrafo de definicion 2. ``` ] .pull-right[ <img src="data:image/png;base64,#img/list_check.png" width="100%" style="display: block; margin: auto;" /> <img src="data:image/png;base64,#img/list_adv.png" width="100%" style="display: block; margin: auto;" /> ] --- # Actividad 1. Abre un `.rmd`. 2. Intenta hacer una lista con dichos mexicanos famosos. 3. Compartenos tu resultado en HTML. ## Ejemplo <img src="data:image/png;base64,#img/list_mex.png" width="70%" style="display: block; margin: auto;" /> --- # Sintaxis básica. Bloques de código. RMarkdown tiene la disponibilidad de "chunks" Vamos RStudio a ver como hacerlo!!! --- .pull-left[<br><br><br><br><br><br><br> .center[ # ¡Gracias! ] ] .pull-right[<br> <img src="data:image/png;base64,#css/xolo.png" width="80%" style="display: block; margin: auto;" /> ]